MPEG video compression is used in many current and emerging products. It is at the heart of digital television set-top boxes, DSS, HDTV decoders, DVD players, video conferencing, Internet video, and other applications. These applications benefit from video compression in the fact that they may require less storage space for archived video information, less bandwidth for the transmission of the video information from one point to another, or a combination of both.
The acronym “MPEG” stands for Moving Picture Expert Group, which worked to generate the specifications under ISO, the International Organization for Standardization and IEC, the International Electrotechnical Commission. What is commonly referred to as “MPEG video” actually consists at the present time of two finalized standards, MPEG-1 and MPEG-2, with a third standard, MPEG-4, in the process of being finalized. The MPEG-1 & -2 standards are similar in basic concepts. They both are based on motion compensated block-based transform coding techniques.
In MPEG and other compressed television systems, three types of compressed video frames are typically used: “I” or intra, “B” or bi-directional, and “P” or predicted compression frames. The various compressed television systems known to the person of ordinary skill are quite complex, and include both transmission and storage type systems. For purposes of explaining the field of art and preferred embodiment relative to the present invention, a simplified general explanation of a typical compressed television system follows. It will be understood that this simplified general explanation is given as an aid to understanding the invention and not by way of limiting the invention to a particular type of compressed television or image system or application. An I frame is encoded (i.e. compressed) using primarily (or only) data for that frame, whereas a P frame is encoded using data from a given frame and one or more previous frame or frames, and a B frame is encoded using data from a particular frame as well as from a frame or frames before, and a frame or frames after.
In order to decode (i.e. decompress) an I frame, only the data for that compressed frame is required. In order to decode a P frame, the data for the preceding frame is generally required, thus resulting in the need to receive all of the data for frames including and since the previous I frame. In order to decode a B frame, the frames before and after the B frame are required, thus most or all of the frames including and since the previous I frame are needed, plus at least one P frame after that B frame. Actual systems are more complex and may deviate from the explanations given above and below, however these simplified rules and explanations given herein will aid one of ordinary skill in understanding the present invention.
To facilitate this form of compression, streams of data for compressed frames are typically reordered and transmitted, with an I frame typically being transmitted first, followed by all of the data for the subsequent P frames, followed by all of the data for the subsequent B frames. The original B frames are normally intermixed with the P frames. This reordering aids the decoder in its task by generally making data available in the sequence that it is used in decoding. Upon receipt, a decoder, starting with the I frame data followed by the next P and B frame data, is able to reconstruct (decode) the I frame, then the P frames, then the B frames, and finally will reorder the reconstructed frames to put them into proper sequence, after which they are displayed.
It can be recognized that the decoding of frames does not necessarily occur in the same sequence that the frames are originally received by the encoder, thus leading to the reordering. The reordering and other manipulation of compressed and uncompressed video data may result in a considerable latency between the time a given frame is presented to the encoder and output from the decoder. This latency can vary significantly with the content of the video signal being distributed by such compression systems.
Viewers of television and other entertainment programs frequently wish to “skip around” the available program(s), i.e. to change from program to program. This desire is present whether the program(s) are being broadcast via various known electronic methods or stored by various known electronic, optical or magnetic methods, or combinations thereof, and this desire likely will manifest itself in relation to other as yet unknown methods of conveying programs to human beings. For example, in a common television receiver with a personal recorder, the viewer may wish to skip around between and among currently broadcast programs and previously recorded programs, stopping briefly at each program to view a short segment. After viewing the short segment the viewer will then move on to another program until finally deciding a particular program is of interest. This skipping around is presently commonly known, and will be defined and referred to herein in respect to human viewers, as “channel surfing”.
Whenever a decoder acquires a new compressed video data stream, for example when the viewer channel surfs by changing channels, changing from one section of a recorded program to another or changing from one (recorded or broadcast) program to another (recorded or broadcast) program, it must currently wait until a new I frame is sent (or available) before it can start to decode the video frames. If, as is often the case, the decoder acquires the new data stream somewhere in the sequence of P or B frame data, it can do nothing until the next I frame is received, consequently there will be no image displayed corresponding to the new video stream until that time. Most commonly the decoder will display a black screen (i.e. a black image is displayed on the display screen) during this waiting period, which black screen and delay can be highly annoying to the viewer. Additionally, it is often the case that the television receiver takes some considerable time to acquire the data stream for each program, whether that program is being broadcast or played back from a previous recording. This considerable time is caused by various electronic circuitry having to automatically readjust itself to various parameters relating to the receipt of data for the new program, as well as for the data of the new program. For example, a new program which is being transmitted may require a tuner and decoder to acquire the carrier signal, lock to it, provide the raw data from the carrier, and decode that data. Similar acquisition is necessary for recorded programs. In addition, the program data itself is often different thus requiring more acquisition delay, for example having a different scanning format such as 16:9 wide screen or 4:3 standard aspect ratio and associated differing resolution and scanning properties.
With improvements in MPEG system encoders and encoding algorithms, as well as statistical multiplexing of several programs over particular transmission and recording equipment, I frames are being transmitted less and less frequently, often only every few seconds. When channel surfing the lack of I frames, sometimes coupled with acquisition time delays, often cause long delays of several seconds in displaying images when a new channel or program is selected. These delays, compounded by the large number of channels or programs in many systems, makes channel surfing a very slow and frustrating experience for the human viewer.
It would thus be advantageous to rapidly provide a viewer of compressed television programming accurate video representations of current programs on different channels when the viewer is channel surfing. It would also be advantageous to do such in an economical and efficient manner.